package com.migo.service.impl;

import com.migo.service.FlushStaticCacheService;
import com.migo.service.MgSampleVideoService;
import com.migo.service.PvMgFirmwareVerisonService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.Map;

/**
 * 刷新所有【静态缓存】方法
 * 1、pvmg10的所有固件GM/GMGM、BT/BTTW、PD/PDRS 的Redis中的缓存
 * 2、首页视频
 * 3、
 *
 *
 * @author xuzr
 * @email zhenrong.xu@powervision.me
 * @date 2021-12-13 14:11:21
 */

@Service("flushStaticCacheService")
public class FlushStaticCacheServiceImpl implements FlushStaticCacheService {

	@Autowired
	private PvMgFirmwareVerisonService pvMgFirmwareVerisonService;

	@Autowired
	private MgSampleVideoService mgSampleVideoService;

	/**
	 * 项目启动时， 初始化Redis缓存中的所有缓存数据
	 */
	@PostConstruct
	public void init(){
		/** 1、pvmg10的所有固件GM/GMGM、BT/BTTW、PD/PDRS 的Redis中的缓存 */
		boolean flushFirmware_result = pvMgFirmwareVerisonService.flushFirmwareCache();

		/** 2、首页视频的Redis中的缓存 */
		mgSampleVideoService.flushHomeVideoCache();
	}

	/**
	 * 【手动触发】  初始化Redis缓存中的所有缓存数据
	 */
	@Override
	public void flushStaticCache(){
		/** 1、pvmg10的所有固件GM/GMGM、BT/BTTW、PD/PDRS 的Redis中的缓存 */
		boolean flushFirmware_result = pvMgFirmwareVerisonService.flushFirmwareCache();

		/** 2、首页视频的Redis中的缓存 */
		mgSampleVideoService.flushHomeVideoCache();
	}
	
}
